home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
edit
/
mg2a_src.zip
/
MG.TEX
(
.txt
)
< prev
next >
Wrap
LaTeX Document
|
1988-08-23
|
52KB
|
1,022 lines
\batchmode %be nice to fellow VAXers
\hoffset=0in \voffset=0in %correct dvi2ln3 bug
\documentstyle[11pt,titlepage]{report}
%\pagestyle{headings} %not sure on this one yet
%\parindent=0in
\textwidth=6in
\oddsidemargin=0.25in
% definitions for DEFINE environment
\newlength{\lblwide}
\newcommand{\resetmarg}{\settowidth{\leftmargin}{\makebox[\lblwide]{}\makebox[\labelsep]{}}}
\newcommand{\resetlbl}{\setlength{\labelwidth}{\lblwide}}
\newenvironment{define}[1]{\begin{list}{}{\settowidth{\lblwide}{\bf #1}\resetmarg \resetlbl}}{\end{list}}
% definitions for fn environment
\newcommand{\fname}[3]{\hspace{1em}\\{\tt #1}\index{#1} {\it #2}\hfill{\tt #3}}
\newcommand{\fmore}[3]{\\{\tt #1}\index{#1} {\it #2}\hfill{\tt #3}}
\newcommand{\fbody}{\\[0.5em]}
% definitions for making the index
\newcommand{\indexentry}[2]{\item {\tt #1} \dotfill\ #2}
\setcounter{secnumdepth}{5} %personal preference
\setcounter{tocdepth}{5} %personal preference
\author{Sandra J. Loosemore}
\title{The MG Reference Manual \\ Release MG2A}
\date{\vspace{1.5in}
Copyright \copyright 1987, Sandra J. Loosemore \\[0.5em]
\parbox{5 in}{This document, or sections of this document, may be freely
redistributed provided that the copyright notice and the following disclaimer
remain intact: The author bears no responsibilities for errors in
this document or the software it describes; and shall not be held liable
for any indirect, incidental, or consequential damages.}}
\makeindex %usually not
\begin{document}
\maketitle
\tableofcontents
\chapter{Introduction}
MG is a small, fast, and portable Emacs-style text editor intended to
be used by people who can't run a real Emacs for one reason or another
--- as their main editor on smaller machines with limited memory or
file space, or as a ``quick-start'' editor on larger systems, useful
for composing short mail messages and the like.
We've made MG compatible with GNU Emacs because that is the ``big'',
full-featured editor that many of us use regularly and are most
familiar with. GNU Emacs is the creation of Richard M. Stallman, who
was also the author of the original Emacs editor. However, MG is not
associated in any way with the GNU project, and the MG authors
individually may or may not agree with the opinions expressed by
Richard Stallman and the GNU project.
MG is largely public domain. You can use, modify, and redistribute MG
as you like. A few modules, however, are copyrighted; specifically,
the regular expression code, the VMS termcap routines, and the Amiga
support code. Look at the source code for the exact copyright
restrictions.
There are several other editors in existence which call themselves
MicroEmacs. The original public domain version was written by Dave
Conroy and circulated as version 1.6. Derived from this, there is
another PD version by Dave Conroy numbered v30; a significantly larger
PD version by Daniel Lawrence which is now up to version 3.9; at least
one proprietary implementation; an implementation for the Atari ST
with an integrated command shell, by Prabhaker Mateti; and probably
others that we don't know about.
MG is derived from the v30 MicroEmacs, with key bindings, command
names, and general functionality made more compatible with GNU Emacs.
Like v30, MG is fairly small and quite robust. We have generally
resisted the temptation to overfeaturize. Some features which are
large and complex are flagged for conditional compilation.
Many people have contributed their time to developing, improving, and
porting MG. Mike Meyer, Mic Kaczmarczik, and Bob Larson deserve
particular mention for their efforts.
Questions, suggestions, and offers of help should be addressed to:
\begin{verbatim}
mg-developers@ucbvax.berkeley.edu (ARPA)
ucbvax!mg-developers (UUCP)
\end{verbatim}
\section{Implementations of MG}
MG runs on many different kinds of hardware under many different
operating systems. Currently, these include:
\begin{itemize}
\item 4.2 and 4.3 BSD Unix (including Ultrix-32)
\item System V Unix
\item VAX/VMS
\item Primos
\item OS9/68k
\item Amiga
\item Atari ST
\item MS-DOS
\end{itemize}
This document describes release MG2A. When we talk of different
versions of MG in this manual, the term {\em version\/} is used to
refer to the different support MG provides for the various machines
and operating systems it runs under, not to different releases of MG
itself. For example, we might speak of how the VMS version of MG
differs from the Unix version.
As mentioned above, some MG commands may not be implemented in all
versions; these are noted in the documentation. Some versions of MG
also support features (such as mouse handling) that are not described
here.
\section{A Note on Character Sets}
MG uses the 128-character ASCII character set, and provides support for
8-bit characters. Whether the particular version of MG that you are running
knows about extended character sets depends on whether your terminal and
the host operating system know about them. Moreover, since there is no
standard 8-bit character set, the same character codes will probably
give different glyphs on different systems. Most versions of MG use
the DEC multinational character set.
\section{Notation and Conventions}
In this manual, commands and other things that must be typed in
literally are indicated in a typewriter font, like {\tt next-line}.
Placeholders such as command argument names use an italic font.
The terms {\em command\/} and {\em function\/} are synonymous. We often
speak of a command being bound to a particular {\em key\/}, although you
may actually have to type more than one character to form a single key.
Most commands are bound to keys with {\em control\/} and {\em meta\/}
modifiers.
To type a control character, use the control key on your
keyboard like a shift key: hold down the control key while typing the
character. In this manual, we will indicate control characters like
\verb"C-x" --- here, typing the character ``x'' while holding down
the control key.
Some keyboards also have a meta key that works like the control
key. (It may be labelled something else; on the Atari ST, for example,
the key marked ``Alternate'' is the meta key.) If your keyboard doesn't
have a meta key, don't panic. You can also use the escape key as a meta
prefix; first type the escape, and {\em then\/} the character. Meta
characters will be indicated as \verb"M-x".
Besides the meta prefix, two other characters are used as prefixes:
\verb"C-x" and \verb"C-h". A few keys have special notation: {\tt SPC} is
the space character, {\tt DEL} is the delete or rubout character, {\tt RET}
is carriage return, and {\tt ESC} is the escape character. {\tt NUL} is
the null character (ASCII 0), which is usually equivalent to either
\verb"C-SPC" or \verb"C-@".
Uppercase and lowercase characters are generally equivalent in command
keystrokes.
When you run MG from a shell, command line arguments are interpreted as the
names of files you want to {\em visit\/}, or edit. Each file is
read into a {\em buffer\/} in memory. No changes are actually made to
the file until you ask it to be written out to disk.
Within MG, the large top part of the screen serves as a {\em window\/} into
the buffer being edited. Below this is the {\em mode line\/}, which
displays the name of the buffer. Finally, at the very bottom of the screen,
there is a one-line {\em minibuffer\/} which is used for displaying
messages and answering questions.
MG keeps track of two pointers into each window, the {\em point\/} and the
{\em mark\/}. The {\em cursor\/} appears at the point in the current
window, and we often speak of moving the cursor rather than of moving the
point. The text between the point and the mark is referred to as the {\em
region\/}.
Some commands deal with {\em words\/} and {\em paragraphs\/}.
Generally, whitespace and punctuation separate words. Lines that are
empty or that contain only spaces or tabs separate paragraphs without
being part of a paragraph. A non-empty line that starts with a space
or tab also begins a new paragraph.
A number of commands are defined as {\em toggles\/}. If no prefix argument
is supplied,